﻿/**
<code>
  <author name="Zealic" email="zealic(at)gmail.com" type="Creator"/>
</code>
**/
using System;
using System.Runtime.InteropServices;

using Zealib.Extensions;


namespace Zealib.Win32
{
    /// <summary>
    /// Process IO counter data
    /// </summary>
    [StructLayout(LayoutKind.Sequential)]
    public struct IOCounters
    {
        /// <summary>
        /// Read IO count
        /// </summary>
        public ulong ReadOperationCount;

        /// <summary>
        /// Write IO count
        /// </summary>
        public ulong WriteOperationCount;

        /// <summary>
        /// Other IO count
        /// </summary>
        public ulong OtherOperationCount;

        /// <summary>
        /// Read transfer count
        /// </summary>
        public ulong ReadTransferCount;

        /// <summary>
        /// Write transfer count
        /// </summary>
        public ulong WriteTransferCount;

        /// <summary>
        /// Other transfer count
        /// </summary>
        public ulong OtherTransferCount;
    }

}